﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Data;
using System.Drawing;
using System.Windows.Forms;

namespace projekt_1._0
{
    class MegrendelokDal
    {
        private String CodFiscal;
        private String Cui;
        private String CegNev;
        private String BankNev;
        private String BankSzamlaSzam;
        private String Helyseg;
        private String Cim;
        private String MegrendeloNev;
        private String BuletinSzam;
        private String Cnp;
        private String[] KapcsNev;//tomb a comboban levo nevek tarolasara h ne keljen uj kapcsolatot letesiteni a lekredezeshez
        private String[] KapcsCnp;//tomb a comboban levo nevek tarolasara h ne keljen uj kapcsolatot letesiteni a lekredezeshez
        private String KapcsSz;
        private String CnpKivalasztott = "";
        private int AlkalmazottakSorokSzama = 0;
        public void DgwFill(DataGridView dataGridView1, TextBox KezdoBetuT, SqlConnection cn)
        {

            String TempS;
            TempS = KezdoBetuT.Text.ToString();
            TempS = TempS.ToUpper();
            if (TempS == "")
            {
                TempS = "I";
            }
            SqlDataAdapter da = new SqlDataAdapter(
                                                    "Select CoDFiscal, CodUnicDeInregistrare,CegNev, BankNev,BankSzamlaNev, Megrendelok.Helyseg, Megrendelok.Cim,MegrendeloNev,BuletinSzam,Alkalmazottak.Nev " +
                                                    "From Alkalmazottak, Megrendelok " +
                                                     "Where Alkalmazottak.Cnp=Megrendelok.Cnp AND " +
                                                     "Megrendelok.CegNev Like \'" + TempS.ToString() + "%\' AND BuletinSzam >'0'"
                                                     , cn);
            DataSet ds = new DataSet();
            da.Fill(ds, "Megrendelok");
            dataGridView1.DataSource = ds.Tables["Megrendelok"].DefaultView;

        }
        public void DgwFillHelyseg(DataGridView dataGridView1, TextBox KezdoBetuT, SqlConnection cn)
        {

            String TempS;
            TempS = KezdoBetuT.Text.ToString();
            TempS = TempS.ToUpper();
            if (TempS == "")
            {
                TempS = "S";
            }
            SqlDataAdapter da = new SqlDataAdapter(
                                                    "Select CoDFiscal, CodUnicDeInregistrare,CegNev, BankNev,BankSzamlaNev, Megrendelok.Helyseg, Megrendelok.Cim,MegrendeloNev,BuletinSzam,Alkalmazottak.Nev " +
                                                    "From Alkalmazottak, Megrendelok " +
                                                     "Where Alkalmazottak.Cnp=Megrendelok.Cnp AND " +
                                                     "Megrendelok.Helyseg Like \'" + TempS.ToString() + "%\'"
                                                     , cn);
            DataSet ds = new DataSet();
            da.Fill(ds, "Megrendelok");
            dataGridView1.DataSource = ds.Tables["Megrendelok"].DefaultView;

        }

        public void BeallitCodFiscal(TextBox tb)
        {
            CodFiscal = tb.Text.ToString();
        }
        public void BeallitCegNev(TextBox tb)
        {
            CegNev = tb.Text.ToString();
        }

        public void BeallitCui(TextBox tb)
        {
            Cui = tb.Text.ToString();
        }

        public void BeallitBankNev(TextBox tb)
        {
            BankNev = tb.Text.ToString();
        }

        public void BeallitBankSzamlaSzam(TextBox tb)
        {
            BankSzamlaSzam = tb.Text.ToString();
        }

        public void BeallitHelyseg(TextBox tb)
        {
            Helyseg = tb.Text.ToString();

        }

        public void BealliCim(TextBox tb)
        {
            Cim = tb.Text.ToString();
        }

        public void BeallitMegrendelonev(TextBox tb)
        {
            MegrendeloNev = tb.Text.ToString();

        }
        public void BeallitBuletinSzam(TextBox tb)
        {
            BuletinSzam = tb.Text.ToString();
        }
        public void ComboFill(ComboBox cb, SqlConnection cn)
        {
            SqlDataAdapter da = new SqlDataAdapter("Select * From Alkalmazottak where Fizetes>'0'", cn);
            DataSet ds = new DataSet();
            da.Fill(ds, "Alkalmazottak");
            cb.DataSource = ds.Tables["Alkalmazottak"];
            cb.DisplayMember = "Nev";
            DataTable dt = new DataTable();
            dt = ds.Tables["Alkalmazottak"];
            AlkalmazottakSorokSzama = 0;
            //Eltarolom a Beosztasok nevet es Id-at h ne keljen ujra kapcsolodja az 
            //uj elem bevitelenel a combo box bol valo kivalasztas eseten
            foreach (DataRow row in dt.Rows)
            {
                AlkalmazottakSorokSzama++;

            }
            KapcsNev = new String[AlkalmazottakSorokSzama];
            KapcsCnp = new String[AlkalmazottakSorokSzama];
            for (int i = 0; i < AlkalmazottakSorokSzama; i++)
            {

                KapcsNev[i] = ds.Tables["Alkalmazottak"].Rows[i][2].ToString();
                KapcsCnp[i] = (String)ds.Tables["Alkalmazottak"].Rows[i][0];

            }
        }
        public bool Mentes(SqlConnection cn)
        {

            switch (MessageBox.Show("A kovetkezo adatok lesznek elmentve a Megrendelok tablaba: \n Cod Fiscal " + CodFiscal + "\n Cui: " + Cui + "\n Cegnev: " + CegNev + "\n Banknev: " + BankNev + "\n Bankszamla szam: " + BankSzamlaSzam + "\n Helyseg: " + Helyseg + "\n Cim: " + Cim + "\n Megrendelo Neve: " + MegrendeloNev + "\n Szemelyazonossagi szam: " + BuletinSzam + "\n Kapcsolattarto szemely neve: " + KapcsSz,
                         "Mentes?",
                         MessageBoxButtons.YesNo,
                         MessageBoxIcon.Question))
            {
                case DialogResult.Yes:


                    SqlDataAdapter da = new SqlDataAdapter("Insert into Megrendelok " +
                                                           "Values (\'" + CodFiscal + "\',\'" + Cui + "\',\'" + CegNev + "\',\'" + BankNev + "\',\'" + BankSzamlaSzam + "\',\'" + Helyseg + "\',\'" + Cim + "\',\'" + MegrendeloNev + "\',\'" + BuletinSzam + "\',\'" + CnpKivalasztott + "\')"
                                                           , cn);
                    SqlDataAdapter da2 = new SqlDataAdapter("Select * From Megrendelok", cn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "Megrendelok");
                    da2.Fill(ds, "Megrendelok");
                    da.Update(ds.Tables["Megrendelok"]);


                    break;
                case DialogResult.No:
                    return false;
                    break;
            }
            return true;
        }

        // a combo adatanak a lekerdezese
        public void BeallitCombo(ComboBox cb)
        {

            String Temp = cb.Text.ToString();
            Temp = cb.Text.ToString();
            for (int i = 0; i < AlkalmazottakSorokSzama; i++)
            {

                if (KapcsNev[i] == Temp)
                {
                    CnpKivalasztott = KapcsCnp[i];
                    KapcsSz = KapcsNev[i];
                    break;
                }
            }
        }
        public void BeallitModositashoz(DataGridView dgw, TextBox cf, TextBox cui, TextBox cegnev, TextBox banknev, TextBox bankszamlaszam, TextBox helyseg, TextBox cim, TextBox megrendelonev, TextBox buletinszam, ComboBox cnp)
        {
            cf.Text = dgw.CurrentRow.Cells[0].Value.ToString();
            cui.Text = dgw.CurrentRow.Cells[1].Value.ToString();
            cegnev.Text = dgw.CurrentRow.Cells[2].Value.ToString();
            banknev.Text = dgw.CurrentRow.Cells[3].Value.ToString();
            bankszamlaszam.Text = dgw.CurrentRow.Cells[4].Value.ToString();
            helyseg.Text = dgw.CurrentRow.Cells[5].Value.ToString();
            cim.Text = dgw.CurrentRow.Cells[6].Value.ToString();
            megrendelonev.Text = dgw.CurrentRow.Cells[7].Value.ToString();
            buletinszam.Text = dgw.CurrentRow.Cells[8].Value.ToString();
            cnp.Text = dgw.CurrentRow.Cells[9].Value.ToString();
                 
          }
        public bool MentesModositasUtan(SqlConnection cn)
        {
            switch (MessageBox.Show("A kovetkezo adatok lesznek elmentve a Megrendelok tablaba: \n Cod Fiscal " + CodFiscal + "\n Cui: " + Cui + "\n Cegnev: " + CegNev + "\n Banknev: " + BankNev + "\n Bankszamla szam: " + BankSzamlaSzam + "\n Helyseg: " + Helyseg + "\n Cim: " + Cim + "\n Megrendelo Neve: " + MegrendeloNev + "\n Szemelyazonossagi szam: " + BuletinSzam + "\n Kapcsolattarto szemely neve: " + KapcsSz,
                         "Mentes?",
                         MessageBoxButtons.YesNo,
                         MessageBoxIcon.Question))
            {
                case DialogResult.Yes:
                    SqlDataAdapter da = new SqlDataAdapter("Update Megrendelok " +
                                                           "Set CodFiscal = \'" + CodFiscal + "\',CodUnicDeInregistrare = \'" + Cui + "\',CegNev = \'" + CegNev + "\',BankNev = \'" + BankNev + "\',BankSzamlaNev = \'" + BankSzamlaSzam + "\',Helyseg = \'" + Helyseg + "\',Cim = \'" + Cim + "\',MegrendeloNev = \'" + MegrendeloNev + "\',BuletinSzam = \'" + BuletinSzam + "\',Cnp = \'" + CnpKivalasztott + "\' " +
                                                           "Where CodFiscal = \'" + CodFiscal + "\' "
                                                           , cn);
                    SqlDataAdapter da2 = new SqlDataAdapter("Select * From Megrendelok", cn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "Megrendelok");
                    da2.Fill(ds, "Megrendelok");
                    da.Update(ds.Tables["Megrendelok"]);
                    break;
                case DialogResult.No:
                    return false;
                    break;
            }
            return true;
        }
        public void Torol(DataGridView dgw, SqlConnection cn)
        {
            switch (MessageBox.Show("Biztosan torolni szeretne a kivalasztott sort?",
                        "Torles?",
                        MessageBoxButtons.YesNo,
                        MessageBoxIcon.Question))
            {
                case DialogResult.Yes:
                    String CodFiscal;
                    CodFiscal = dgw.CurrentRow.Cells[0].Value.ToString();
                    SqlDataAdapter da = new SqlDataAdapter("Update Megrendelok " +
                                                              "Set BuletinSzam = '0' " +
                                                              "Where CodFiscal = \'" + CodFiscal + "\' "
                                                              , cn);
                    SqlDataAdapter da2 = new SqlDataAdapter("Select * From Megrendelok", cn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "Megrendelok");
                    da2.Fill(ds, "Megrendelok");
                    da.Update(ds.Tables["Megrendelok"]);
                    break;
                case DialogResult.No:
                    break;
            }
        }

    }
}